package com.ruoyi.project.system.task.domain;

import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import com.ruoyi.framework.web.domain.BaseEntity;

import java.io.Serializable;
import java.util.Date;

public class Delay extends BaseEntity implements Serializable {
    /**
    * delay_Id 延期表id
    */
    @Excel(name = "延期编号")
    private Integer delayId;

    /**
    * applicant 申请人id
    */
    @Excel(name = "申请人id")
    private String applicant;

    /**
    * application_time 申请时间
    */
    @Excel(name = "申请时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date applicationTime;

    /**
    * delay_time 延期时间
    */
    @Excel(name = "延期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date delayTime;

    /**
    * delay_reason 延期原因
    */
    @Excel(name = "延期原因")
    private String delayReason;

    /**
    * approved_by 批复人（角色）
    */
    @Excel(name = "批复人")
    private String approvedBy;

    /**
    * approved_time 批复时间
    */
    @Excel(name = "批复时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date approvedTime;

    /**
    * pass 是否通过：0、未通过 1、通过
    */
    @Excel(name = "是否通过：0、未通过 1、通过")
    private Integer pass;

    /**
    * opinion 详细意见
    */
    @Excel(name = "详细意见")
    private String opinion;

    /**
    * task_id 任务id
    */
    @Excel(name = "任务id")
    private Long taskId;

    /**
     *任务标题
     */
    @Excel(name = "任务标题")
    private String taskTitle;

    /**
     * 任务内容
     */
    @Excel(name = "任务内容")
    private String content;

    /**
     * 申请人姓名
     */
    @Excel(name = "申请人姓名")
    private String userName;

    /**
     * 任务开始时间
     */
    @Excel(name = "任务开始时间" ,width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    /**
     * 任务结束时间
     */
    @Excel(name = "任务结束时间" ,width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 批准延期时间
     */
    @Excel(name = "批准延期时间" ,width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date appointedTime;

    public Date getAppointedTime() {
        return appointedTime;
    }

    public void setAppointedTime(Date appointedTime) {
        this.appointedTime = appointedTime;
    }

    public Date getStartTime() {
        return startTime;
    }

    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getTaskTitle() {
        return taskTitle;
    }

    public void setTaskTitle(String taskTitle) {
        this.taskTitle = taskTitle;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Integer getDelayId() {
        return delayId;
    }

    public void setDelayId(Integer delayId) {
        this.delayId = delayId;
    }

    public String getApplicant() {
        return applicant;
    }

    public void setApplicant(String applicant) {
        this.applicant = applicant;
    }

    public Date getApplicationTime() {
        return applicationTime;
    }

    public void setApplicationTime(Date applicationTime) {
        this.applicationTime = applicationTime;
    }

    public Date getDelayTime() {
        return delayTime;
    }

    public void setDelayTime(Date delayTime) {
        this.delayTime = delayTime;
    }

    public String getDelayReason() {
        return delayReason;
    }

    public void setDelayReason(String delayReason) {
        this.delayReason = delayReason;
    }

    public String getApprovedBy() {
        return approvedBy;
    }

    public void setApprovedBy(String approvedBy) {
        this.approvedBy = approvedBy;
    }

    public Date getApprovedTime() {
        return approvedTime;
    }

    public void setApprovedTime(Date approvedTime) {
        this.approvedTime = approvedTime;
    }

    public Integer getPass() {
        return pass;
    }

    public void setPass(Integer pass) {
        this.pass = pass;
    }

    public String getOpinion() {
        return opinion;
    }

    public void setOpinion(String opinion) {
        this.opinion = opinion;
    }

    public Long getTaskId() {
        return taskId;
    }

    public void setTaskId(Long taskId) {
        this.taskId = taskId;
    }

    @Override
    public String toString() {
        return "Delay{" +
                "delayId=" + delayId +
                ", applicant='" + applicant + '\'' +
                ", applicationTime=" + applicationTime +
                ", delayTime=" + delayTime +
                ", delayReason='" + delayReason + '\'' +
                ", approvedBy='" + approvedBy + '\'' +
                ", approvedTime=" + approvedTime +
                ", pass=" + pass +
                ", opinion='" + opinion + '\'' +
                ", taskId=" + taskId +
                ", taskTitle='" + taskTitle + '\'' +
                ", content='" + content + '\'' +
                ", userName='" + userName + '\'' +
                ", startTime=" + startTime +
                ", endTime=" + endTime +
                ", appointedTime=" + appointedTime +
                '}';
    }
}